package com.jmb.api.web.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jmb.api.entity.ExecuteInterfaceCaseParam;
import com.jmb.api.entity.InterfaceCase;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jmb.api.vo.Interface.Case.InterfaceCaseInfoVO;
import com.jmb.api.vo.Interface.Case.InterfaceCaseQueryVO;
import com.jmb.api.vo.Interface.Case.InterfaceCaseTO;
import jakarta.validation.Valid;

/**
* @author 金梦博
* @description 针对表【t_interface_case】的数据库操作Service
* @createDate 2025-09-25 17:18:52
*/
public interface InterfaceCaseService extends IService<InterfaceCase> {


    // 新增接口测试用例
    InterfaceCase saveInterfaceCase(@Valid InterfaceCase interfaceCase);
    // 新增接口测试用例包含断言、处理器、前置用例
    void saveInterfaceCaseAndAssertAndPostProcessorAndPreCase(@Valid InterfaceCaseTO interfaceCase);
    // 查询接口测试用例详情
    InterfaceCaseInfoVO findInterfaceCaseById(Long id);
    // 修改测试用例
    void modifyInterfaceCase(@Valid InterfaceCaseTO interfaceCase);

    IPage<InterfaceCaseQueryVO> listInterfaceCase(IPage<InterfaceCaseQueryVO> page, InterfaceCaseQueryVO interfaceCase);

    Long executeInterfaceCase(ExecuteInterfaceCaseParam caseParam);
}
